{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib\n",
    "import tensorflow as tf\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import claude.utils as cu\n",
    "import claude.tx as tx\n",
    "import claude.claudeflow.systems as cfs\n",
    "import claude.claudeflow.helper as cfh"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "M:\t4\n",
      "nPol:\t2\n",
      "sps:\t16\n",
      "nSamples:\t1024\n",
      "rollOff:\t0.05\n",
      "filterSpan:\t128\n",
      "optimizeP:\tFalse\n",
      "PdBm:\t1\n",
      "Rs:\t32000000000.0\n",
      "channels:\t[-100.  -50.    0.   50.  100.]\n",
      "nChannels:\t5\n",
      "frequencyShift:\tTrue\n",
      "dispersionCompensation:\tFalse\n",
      "beta2:\t2.0999953937404486e-26\n",
      "dz:\t1000000.0\n",
      "Fs:\t512000000000.0\n",
      "N:\t16384\n",
      "realType:\t<dtype: 'float64'>\n",
      "complexType:\t<dtype: 'complex128'>\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Tx\n",
    "batch_size = 2\n",
    "M = 4\n",
    "frequencyShift = True\n",
    "\n",
    "param = cfs.defaultParameters(precision='double')\n",
    "print(param)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x.shape:  (2, 5, 2, 1024, 4)\n",
      "const mean power:  0.9999999999999998\n",
      "const.shape:  (1, 4)\n"
     ]
    }
   ],
   "source": [
    "x, idx, x_seed = cu.hotOnes((batch_size, param.nChannels, param.nPol, param.nSamples),(1,2,3,4,0),M)\n",
    "print('x.shape: ', x.shape)\n",
    "constellation = tx.qammod(M)\n",
    "print('const mean power: ', np.mean(np.abs(constellation)**2))\n",
    "print('const.shape: ', constellation.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = tf.placeholder(tf.float32, shape=(None, param.nChannels, param.nPol, param.nSamples, M))\n",
    "constellation_tf = tf.constant(constellation, param.complexType)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Tensor(\"Squeeze:0\", shape=(?, 5, 2, 1024), dtype=complex128)\n",
      "Tensor(\"Sum:0\", shape=(?, 2, 16384), dtype=complex128)\n",
      "Tensor(\"strided_slice_2:0\", shape=(?, 5, 2, 1024), dtype=complex128)\n"
     ]
    }
   ],
   "source": [
    "txSymbols = cfh.QAMencoder(X, constellation_tf, realOutput=False)\n",
    "print(txSymbols)\n",
    "\n",
    "signal = cfs.wdmTransmitter(txSymbols, param)\n",
    "print(signal)\n",
    "\n",
    "rxSymbols = cfs.wdmReceiver(signal, param)\n",
    "print(rxSymbols)\n",
    "\n",
    "normP0 = tf.get_default_graph().get_tensor_by_name(\"normP0:0\")\n",
    "rxSymbols = tf.cast( tf.rsqrt( normP0 ), param.complexType ) * rxSymbols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# error counting\n",
    "rxSymbols_tiled = tf.tile( tf.expand_dims( rxSymbols, -1 ), [1,1,1,1,M] )\n",
    "rxIdx = tf.argmin( tf.abs( rxSymbols_tiled - constellation_tf ), axis=-1 )\n",
    "\n",
    "txSymbols_tiled = tf.tile( tf.expand_dims( txSymbols, -1 ), [1,1,1,1,M] )\n",
    "txIdx = tf.argmin( tf.abs( txSymbols_tiled - constellation_tf ), axis=-1 )\n",
    "\n",
    "errors = tf.reduce_sum( tf.cast( tf.not_equal( txIdx, rxIdx ), tf.int32 ) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "session = tf.Session()\n",
    "feedDict = { X: x }\n",
    "[outErrors, outTxSymbols, outRxSymbols, outSignal] = session.run( [errors, txSymbols, rxSymbols, signal], feed_dict=feedDict )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Errors:  0\n",
      "MSE:  4.2274221868018576e-07\n"
     ]
    }
   ],
   "source": [
    "print('Errors: ', outErrors)\n",
    "print('MSE: ', np.mean(np.abs(outRxSymbols - outTxSymbols)**2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f79b83a3d30>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "h = tx.rrcos( param.rollOff, param.sps, param.filterSpan )\n",
    "plt.plot(h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,8))\n",
    "plt.plot( np.real(outTxSymbols[0,0,0,:]), np.imag(outTxSymbols[0,0,0,:]), '.' )\n",
    "plt.plot( np.real(outRxSymbols[0,0,0,:]), np.imag(outRxSymbols[0,0,0,:]), 'x' )\n",
    "plt.axis('square');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot( np.fft.fftshift( np.abs( np.fft.fft(outSignal[0,0,:]) )**2 ) );"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plotSymbols(a,b,fun):\n",
    "    print(a.shape)\n",
    "    print(b.shape)\n",
    "\n",
    "    # Four axes, returned as a 2-d array\n",
    "    f, axarr = plt.subplots(3, 2)\n",
    "    axarr[0, 0].plot( fun(a[0,0,0,:]) )\n",
    "    axarr[0, 1].plot( fun(a[0,1,0,:]) )\n",
    "    axarr[1, 0].plot( fun(a[0,2,0,:]) )\n",
    "    axarr[1, 1].plot( fun(a[0,3,0,:]) )\n",
    "    axarr[2, 1].plot( fun(a[0,4,0,:]) )\n",
    "    \n",
    "    axarr[0, 0].plot( fun(b[0,0,0,:]), '.')\n",
    "    axarr[0, 1].plot( fun(b[0,1,0,:]), '.')\n",
    "    axarr[1, 0].plot( fun(b[0,2,0,:]), '.')\n",
    "    axarr[1, 1].plot( fun(b[0,3,0,:]), '.')\n",
    "    axarr[2, 1].plot( fun(b[0,4,0,:]), '.')\n",
    "    \n",
    "    axarr[0, 0].set_xlim([0,20])\n",
    "    axarr[0, 1].set_xlim([0,20])\n",
    "    axarr[1, 0].set_xlim([0,20])\n",
    "    axarr[1, 1].set_xlim([0,20])\n",
    "    axarr[2, 1].set_xlim([0,20])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2, 5, 2, 1024)\n",
      "(2, 5, 2, 1024)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAD8CAYAAAB6paOMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsvXmcJFd15/s7uWd2bZnVe1emSqK1swjRNIssDAiBMFqwMWazLNkIeSwYxg/G/oA8j/EHPvNG2Abe+NmYEVr97PeAgWGaRc8gJDANstS0hGQhydpbGdVd6qUya+vMyvW+PyJuVlRWLPdG3IjMasX38+lPVVdkxL0ZceKec88591xijCEiIiIi4qVLbNAdiIiIiIgYLJEiiIiIiHiJEymCiIiIiJc4kSKIiIiIeIkTKYKIiIiIlziRIoiIiIh4iRMpgoiIiIiXOJEiiIiIiHiJEymCiIiIiJc4iUF3wI7Nmzez6enpQXcj4hTmwQcfPMEY2xJ2u5FsRwSJF7keWkUwvTmLg9/+MlDcO+iuiKMdAA7tB6Yvtu6303E/54oc99pvP9f1e22/bbtARC8ov6gAnmV7kDLip19Bn++VYW3XZ7+8yPXQKgIszoLdeQXomu9uDGWgHUD3ziuAdhPdWBL/9JqbcXziVb3DW+YfwWUPXo9Yt7XuuNMx8eN/iDhrgeIp4JrviN8z7QA6d1wB6qzvt7ndWCItd10ArPwAOndciVjX+dpO3znO2vLfadhZnAXuvFL6ObE7rwDzIF+rxz3KiGu/rgTaDZBHGeneeSViXcX9csN4X6kTfrvszivB2o2hkvvhVQRgQKela8aNMAAc2g/WbiKOLrqdFh6/7y58uZPsHb4hfhcuS7QQo/XHnY6JH2+CqAt0mlL3rPXsT0HtJuIu/WKdJkjyWRx79EeY7DR9fWcv32n4YfLfyZCvmAf5Wj3uTUbc+9VADN5k5Mgjd2NbO4B+uWG6n+G323B9jmHfj6FVBAyEDiWRmL540F0RY/pitJAA0EY8mcIf/e41uH7Xa3uH44cnEP/6PrBOC/FEcs1xp2MixxvPj6L1jW8jhg5i8ZQ+pRTkaGEPJpFADB3Ek+v7RV/bh3a7CYonEZd8Fs9uejXGkECcOp6+c/sfvw1CG3HJ7zTsMBBYPAWS+U7TF6NNScRYS1q+AGD5mU1ofcubjAj1q9vyJCNPZS5AwZA/pf1yY/piNJFAEm0kQm63E0ui27F/jt3/53+h3W0hnpCUET8wxoby367tm9nXvvVNtlHodrvsQ5/5a3b3V/6EsfID1h8qP8DYT//K+rjTMYHjH/rPf81+6NS2Dff+21H2m5/6ItP2fc7y3BOP/5R9/saPsLvu2id1XcYY+8pPnmG/+akvsvq9f+HpO3/+5jvZzf/lo9LfSRQAB9mAZPv44z+V7u+N/+0W9o9/+XFPMtLtdtnv/Nn/ye69+U+V38/P/t3t7PM3foTd88PvSp/7pbufZL/5qS+yf/o7edn1w3ytyX7zU19kn7/xI2zluftCa5cxxv76jn9gf/vZP7L9vvu++z/Z52/8CFt48meeru9Frod2RjAfK+BAezfeN+iOCDJfa+FnjTPw5vPeBRTPsP5Qca/9NM/pmMDx+ckL8A/J1+FSyWmkVqnhIXYWUm++BBjLrDueP/vXcAst41o2jXdKXRkoV2p4Lns+Mm95u/UHXL5TZ9dr8ZeHtuDDu157SuU5H8cEnk2fh82S592zPI2V3XvwweKrrD/gcD+JCHOFC/C1zEV4S3GPZMvO/PjkNJ7rbMHHcSbeKnlu2ZC/f0i+Ee8I0fXH5f6hzln4rU0vx+7QWgb2r5wBtuV03GDzfTOnvwFf/lkK78ieD5snrZyhfb9SCYJWrQ26G8LwvhYLuYG0X8znPN0vrVJDOhHDltG05fFYjDCVz0KreLh2tY5i3vv9mCrk0Ox0cWyp4fkaw4pWrUt9fqXVwdGlFRQLWc9tFvNZaBW5dt3odhlmjO8y40FGZoz+zEjeD7/MmN4V1ffEte1KzfG94GNImOOfEkVARJcR0ZNE9AwRfcri+LVEdJyIHjb+Xed2zWQi5mnwGRRlo6+lASmCUiGHmUod3a7cjnPlSg3FQg5E5HjtshdFUKn5uh/8XC9tqyII2Qbkv9Ph+ToY8ydfpUIOWqUGpnBXwmNLDTTbXQDenhM/Z6ZaQ0dSdv1g7muY8tVodzC7uOJoMBYHIPe+FQERxQH8LYB3AjgPwAeI6DyLj36dMXaB8e8Wt+um4jG8uLiCRrvjt4uhwK2Kgc0IPFrPWqXuOrjwAUSGTpfhcLXu637wfg3KIAhKtpPxmLT1rCkwNIqFHJYabSzUW56v0Q+3WreNpaUtWD7L2TaWRqvDcHRxRVm/3NAqdYxmEsgm46HK15H5FVeFPpJOYHJTKtSZiooZwV4AzzDGnmOMNQF8DcBVfi+aSsTAGHA45CmjV8qVGgqbUhhJDybs4sWKYIxBq9RQzDu7G4r5HBZX2lioiQ8gRxdX0Ox0fbkydk5kQDTQGUEwsh2PSX8nPlj5UaxBWJrlOf1aF+3ejKOLDay0xA03Psu5aPdm5f1yo1yp4bTJHIqFbOjtAu7PccqD8eUHFYpgFwDN9P8Z42/9vIeI/pWIvklERbeLpuJ612R9qYNCM1wsg8KL9Txfa2Gp0XbttxefpQpXWToRx46xzCBdhMHIdiImbT2XeSxnxDqWI0IQrrZypQYi4PVnTAJY63sXORcALnpZ+IpAM/z0xbw3t6dXRN8Lr+5Yr6hQBFbO5X5n33cBTDPGXgngRwDutLwQ0fVEdJCIDi4vzgMYrH9YBq3qblkHiRfrWTTAza16qWtzy8dHsBgwLKPBJQ0EItutRl3aetYqdUzls4jF7GM5bvQUukKXg1atYcdYBi/bMiJ9be4ee90ZBcTIW7DZCzzAXSrkUCzkMFOtK42bODFTqSGViGGrTXIGp5jP4sh8He1ON5R+qVAEMwDMVtAUgCPmDzDG5hhj3Hn9VQCvsboQY+xmxtgextiebVs265bTBlAE3B8+qEAx4M16FrVOvLgUtEoNMQJ2TvhTjmFbRn0EItv5sVH94pLWs1/5GkknUNiUUno/tUoNU4WcJ2OhbAyKO8ez2DEenovm6JLutpwyFMFyo42qhNvTD+VKTUihlwo5tLsMswvhxE1UKIJfADiTiE4nohSA9wP4jvkDRLTD9N8rATwhcmGvaYthM7tQR7vLBuoaAuStZ9EA91gmiYlcUupZaNU6doxnkUr4E7FSISdtPSskENlOJfRBQNR67sVyFMhXMZ+VUkBu8GSDLSNpZJJyhptWqaNoDIqlQi40NzC/76VCLvSEBN1z4P4cw04h9a0IGGNtAB8D8APoL8E3GGOPEdFniehK42MfJ6LHiOgRAB8HcK3ItQdsDQoz6NRRjuz9kglwe7m2n0Axh18j7DxzIDjZTiXiAMSt54W6HstRIV9Fhe/USquDFxdXUDLSj73ICP9OYQZtze+rl5mMr7bnxGZ2YSsoJSkujLG7ANzV97fPmH7/NIBPy163mM/hoReq/jsYMHxRjF9/uF+K+VXrOZOMu35+RiKuUczn8PjsonBftEoNv36W/1L/JZNltHvriO/ryRKEbCdiJGU9i2aaiFAq5PBPv3oRnS5D3Ee8AdCzfvR+6TIkE3jls5w90/lev44vNVBvdpBNucuuHzQjwL1zIoN2R48NhGF5L9RaWFwRU+g7xjOIxyi0FNKhXVkM6MIhm7Y4CMqVGuIxwo6J9SUawqQ0KWc9lyXcDXpQTWzRT73ZwbGlhhoLNj/YtQRBITNoagoNjWLP9+x/gOmfCcsEXvtnOVwOVbqt7NAqeoA7nYhjUzqBzSOpUORrNTnD3fhKxGPYOZEJbaYy1IqA37BhLzWhVWvYOZFBMj7Y21mS8CvKBrhLhZzwoh/+Mpcm/Q9cW0bTSG+QpAEZZHziqzMC/642lSmk/ZlhMoFXrtym8msVQRgDX9kIcHOmQkohlZ3ZhekaH3JFMPgSAyKUXWqHhIWM9Swb4JbxpXJFNKXgnhCRUr/2sFCUKPegVWvI55IYzSRdP+varvFMZhS4HPrrVMn4tftnE2H6xLXqWj+9vnI+eBeM7KLAYj4XygwJiBSBEvzW1FGFjPUsG+CWesnn1AbPdctoYywsFIVbz/NC1rM6+doxofueVbxT/XWqZIyF/lnO5KYUssl44M95pdXB0cXGGsOtWMjicAg5++VKDRO5JMYEFXqxkMOJ5SZONtqB9gsYckXgJW0xbGrNNk4sNweeOgrIWc+yAe6dE1nESEwRaNU6ssk4No+khK7thl5QT22xtEHDg/RCM6w+V4YfkvEYdoxnlLhb++tU9WakAtfun+XwrKOg3cA8fsbjaYAuX50QcvZlq/Guxk2CN4KGWhEAw59COuhic/2IWs+yAW59ABFL8eOpo04VTWWYymexJGg9bxR4/MTtfnZMq2CVta3gneJZP+Z+yQRerWY5xULw64asiveFlZAgO7MLs/ru0CsC3U82vG6B1YDZ4MpLmCnms0LWs1atYce4XIC7WMgKBTh5HRdVyATBNwqi1jOP5ahWBH594jzrZ6pP7kUDr1azHJm4iVd6mTtrXEPBy5eXarxhxk2GXxFIpC0OgmFZTMbhpYbdrGcvJQtELEmVq2A5GyVWJMOmXqlh5++kMnWUo/ueG6g1vfue7eReRMl0ugyH59fPcor5HE42O6icbHrulxvlufUbMfGc/SDly0s13nwuiU2peDQjAHQrNOxa5TJo1RpyqTgKm9T4w/0iat14sdqL+dVFP3ZUTjZxstkJRBGEvZNU0BQFBk0V+xBYtatf2/v9tEuFFAm8vri4glaHrZO/MFwhVhsxJeIx7JrIBhqo9mIw8phfNCPAcOxS5QT3+6nyh/tF5H7xALdsnj//vFNKG3cdqRy4giiWNgyIBPa1ql68T+ViRe7G9DPA2MXGRAKvdlllXL6CrDmk2cRbvGy+JNVuZb1LSoRiCAF0YAMogmFfWSqzOjcMRKw9rwFukdlGUK6ysCyjMCkV3EsNlys17JzIKl2sqMK4sqtTJfK+2q2wnVKgoJxw2ogp6EC112q83NUWdMbc0CsCmbTFsNEFy98G7aoRsZ69Brj59+QWndO1+4OIfgkjtTBsinn3UsOqA+8AUNiUQi4V93U/Z6rWBpCIsWA3KOZSCWweSQf2rs/XWli22YipWMhh7mRwOfteq/EW81nUWx2cWA4ubgKEt3l9moi+bhx/gIimRa+dSoinLYbNieUm6q0OSgqW/quEB9jt8Gq1bx7RF/04Td21Sg2bR1LYpHjLzmI+i8PVeuhJA0HKtkhWSFlgT2lZejn7PmcEVv3aMZ5BwiXw6jTLCbIKqZPcy6yB8Nq2lxIhomnGfglr8/oPA6gyxnYD+BKAz8u0IZq2GDaiO3yFTTHv/DJ5DXDrwSv3a6soLdHP6kYd4clB0LLtZj3rsZyGkhpD/UzlvaeQ9lIhLWZ9erE058Cr0ywnyJmf0/taEnCp+mrb48yuVxIk4NlwWJvXX4XVLfy+CeASkoiuDuuisiAyOlRQKuQcrWc/AW43S1LFTlpWDCiFNFDZdktb5OtngjA0+DvlxffstrbBXUbsZznFfA5H5lfQCqDcg1PRtyDly0813ikBd6wKwtq8vvcZY7OPBQCT/Rcy7+t6/Pjx3t9F0hYHwao/fLgUgVupYX27PG991i1J6wGk3eniyPxKIBYsf4lUFEuTIFDZ5mmLdlao6ppNZkoF775ntyqaToHXerPjOMvpZR3Nq08X12wC3ICesz+STgQSn/BTjTebimPraHr4XUMQ2+Bb5DNr9nXdsmV1UxORtMVBUK7UsGU0HfhGGrI4ZYXwALfXwaVUsF/0M7uwgo7iVbCcMBb9WBC4bDu52oJ0PfpZTcuVsa1V7xB4dftOUwGWntcq9it7iSiwrXH9VuMNI4U0lM3rzZ8hogSAcQAV0QamAg7keMXPgBokTtaz3wD3armH9ddWuZNWP3yjjpBlIHDZLjkE9ssVPZYzGcBiRT/lC3p1qsat1zY4lQRxc6cGuW7IzW0ZlAva78wujDLZoWxeb/z/GuP33wZwL5NwTvaEI2A/mSxlm5zkQeNkPfu1Mp18qV4XzYgygFhR4LI9lbcvNcwDjEEsVpzysT6Hb8SUsFnb4JRm7GYs7BjPIhEj5Za57ra0DnBzeKBadc6+32q8xXwWswt1NNvBlckOa/P6WwFMEtEzAD4BYF0anhM8bXGYatK3Ol3MLgznjMDJevYb4O7tGmfxopYrNSQcLEW/FPPhLioLQ7Z7szeLGZaTK8Mv2VQcWzz6nkUsa8B61qhV6o6znHiMsMsl680LswsrrsX7ioUcVlpdHF9uKG3bbzXeYiGHLgOOzAc3/oW1ef0KgPd6vT5PWxwm19CR+Tq6DMrqxKvGbk9cvwFufdGPdbE0rVrHzomsraXoF75RR63ZRi6ldp2CHUHLttkVcvb2UXMbKFdqeOPudXFnZRTz9oFqJ7RKHW87d6vt8QmHwGtZYJYjs42nKCIzYXMK6dZRdcaM30WB5njO9OZNqrq1hqFfWcwJuhaILMNWdbQfO7+iigC3XfAqqNRRc7vAqVV8zs7VNneSx3KCu59eXG2raxvs++VULE2kMu1UADM/kZmw02zXKyqq8YZRb23DKAKntMVBMGwb0vRjV2pYRVzDabYRROooJ8z67GFhl7YYhqFRKuQwu1CXytkXXdtgtaiRMQat6i4jpUIOlZNNLCss96BV6o4BbsBf3MSOaq2Fk01/Cn3bWAapeCxQA2jDKAKntMVBUK7UkIwTto8F4w/3i902dyoynUoFfdGPuVjacqONyslgt+wc9kq0XrBLW5Td6NwLUx58z6IZMFaB17mTTdQEBsUgLHO9rIV9gBsAMkn1OfsqMul43CRIA2jDKIJVP9lwuAW0ag27JrKIx4aj/HQ/vT1xTZkbPMDtd3ApFrLrSg0HnTEErG7UMUyxIhVYlVUI4356UayiM5XS5PrAq2iiQhAKX9RtqTozTdXMTnQvcq9sGEUwbNag6l24VGN1v3iA278iWH/tMMpthLlRR5jwDWrM1nO5UsPmkWAXK3qJuWjVGjal4sjnks7XtnCziFrHQZSen6mKBWz1go3qjE1V1XiL+WCTZTaMIghiuugH2Y2ow6awKbXOelZlnVj56sMKnovs6rXRKBVy68o96C68YNeobB/LIBmXW63NDSC3VEgrJdOLL7gMyBO5JEYVlns42dA3YhIxgIqFHI4ozNlXVY23VMhhvtbC4orzFrRe2TCKwCltMWwWV1qo1lpDPSOwsp5VBbj5oh/zADJTrWMkncCEi6XoFz/F0oYVbuSU+xRr0PIVj5Fe60jC0hRd28At4DXfaU5sltOTXUWWuUzxvlIhB6YwZ19VNd6ihfGlkg2jCIDg/WSiDGvV0X76rWdVAe5e8Kq69toilqJfwtqoI0xWF5XpchXmYkUZVxtf2yDSr0wyjm1j6XWzRtFZjsp9CWRmq0ULBea3bRXPMeiMuY2lCPLDsUtVz7Iesqqj/fA0T249axV1Ae7+FNKwym2s7ms7eDlQRX+pYVWxHBFk1ufwtQ2iz7lfRjSbXc2c+qVi5iezI59K+eLVeFUogqDX0GwoRWCVtjgINsqMgJcanjNSbmVeRDeKhRxmjPvAF82EcT9OxbUE/WmLYRoaxUIOVUHfc8+yFiynXDIFXltGrR9RGSkWcmi0uzi+5L/cQ7miB7hFNmLaNqrn7KuYEfBqvCrW1oxnkxjLJALziGwoRWCVtjgItGoNo5kExgP2h/ulP7tHpd+5WMj2Sg0fX2qg0e6GYsEGsehnGDCnkMoOuH7bBcTup6wBZA68zs6vSM1yVG4UIxrgBoBYTF05atXVeEuTwbnGfSkCIioQ0d1E9LTxM2/zuQ4RPWz866/eKMyAdqlaR9ClFFRhfskXV1qYr7WU9dtcapgPYGHckyAW/VgxCNnmM4EwFyuupmq6uxxk61QVjcDr4fn66qAoeq7C0vOyM+EpRZlpqteCBOka9zsj+BSAexhjZwK4B/aVF+uMsQuMf1fafMaVYXELDHvqKMdsPat2Z5lLgwe5D4EVIaWQhirbRaPcQ7PdDXWxosw7Va7UsHU0jUxSbG2D+do9Y0FwltPLOprz95y9bMRUUhSoVl2Nt1TIYaZSR9dmC1o/+FUE5v1a7wTwbp/Xc8QqbTFsul0GrRpceWCVmEsNq/Y792rOm67td9GMKCHtSxCqbBfz2V65hzAXK47nkhjNJIQsTdmy2Oa0WNlZTiYZx/Yx/xsR8Y2YZBIZSoUcFuotLNT95eyrrsY7Vcih2enimIK4ST9+e7iNMTYLAMZPu9q0GWO/1vuJyPMLFVStchmOLTXQDMkfrgJehVT1jIAv+pmp6tP+bWPilqJfuPUcxAbnJkKV7TWutpBXrYsqVlmXKA+88u8kO8tRkULqJd6iamWzahdykNUVXJe7EdGPAGy3OPRnEu2UGGNHiOgMAPcS0aOMsWct2roewPUAUCqVLC+k+8kGt7K0V9d8CHcms6KYz+IXh6ooV9QGuIkIU8YAstxoh5pKa7aeT5v0VZ/9LCL6lcXfQ5dtPlA9dmQRVYWxHBFKhRyeOrrk+BkvdapiMcKUsZH9YQ+z6GIhh/ufnZM6p58ZD/Gr1YKNNbx817j3tis1vP18q6HTG2ZX297TC8quCwjMCBhjb2OMvdzi3z4AR4loBwAYP4/ZXOOI8fM5AD8B8Gqbz1lu8G1m0LVm/O4/Gja81PDzJ04q73PJeMlnQo6ZKLSMnhoW2ebW833GwBeqYjVW8Tr5nntrGyQNIL6WwEvGWjGfw+ziChrtjtR5Zvj7KrO6V0VSynKjjbmTTaVl2XdOZEAUzIzAr2vIvF/rNQD29X+AiPJElDZ+3wzgIgCPe22wWMgqr1Uug1atgQjYtUFmBLzU8IMvVJUPLsV8Di9UaphdXAl1p7aQNqgJVbZ52uIvntf3vQ9TsRYLOTTbzr5nr7WkSoUcnj120tMsh5d7OOzDAyAb4Ab0nP3xbNLXgBvEWqN0Io4dY5lADGG/iuAmAJcS0dMALjX+DyLaQ0S3GJ85F8BBInoEwI8B3MQY86wIBp05VK7UsH0sg3QiHH+4X/j9qrc6yvPSS5P6AMJYuAMX36gj4FhR6LI9ZRSfA6DUknSDW/lOgVmvdaqKxqJGvR1515DeL++KwOsiymLB2zaevXYVp45ypgrBpJD6KonHGJsDcInF3w8CuM74/T4Ar/DTjhlzIOfcHWOqLivMTKU+9KUlzJhfAtVxDfN9CDNmslrrKDhFMAjZ5nV4RjMJjGfDW6xoTgV+7bS177lcqSEVj2Gb5NoGs4HgZUbA2/aKVql78qeXCjn826xz3MSJoKrxlgo57H/6uNJrAhtsZTEw+H0JwqgKqRJeahhQn+dvvl4Yq2D72x70ehLVcMXqtrm7anblsyBymRFUa9iVl1/bYPbNy85yto6mkUrEeqVMZGm2jQC3ByOlmNfLY3jN2Q+qGm8xn8PRxQZWWt7jJlZsOEUwkUvi19LPYfqJ/w5oB6w/pB0A9n/B+rjTMZfjjef/Bb9V+zr2Jp7x8Q3CJR4jvH2sjBvi+3Bm07PXwpKpfBYX0lP498nvYNv8vyq9thsXpZ/FpXP/6E0GjOO7RkldSocCSoUcLqSn8BH6X/b9DoB0Io63jbyAM5+62bbd3NEH8UfxfdL9Kk3q3+mPM9/F+IlfSp0bixHePvYCzn3mFk/Pee6J/fh3sX14FT0l1S6gGxov7/4blu/5C0/jSPLIQXwy+z3QzC+k23aiNKm/cyd/ZN8vL3JNw1rXfc+ePezgwYPrD2gHsHLru5BEGyyWwo9f91XM5S/oHZ6sPoy3PPARxLpNdPuOOx0TOffND1wH6rSAeAqJ3/8uUNwb7E1QgXYAjdsuR7zbQjyZBl3zHXX9Nj2LeCINqLy2S7ut2y/vPQuZ52g+/vqvnMDBI53Q9xq1k+1nH7oXO/e9D2lqIxby/WzcejkSaIHFUrhn71dxIv+q3uHN1Ufwpvs/jJSX56wdQP3Wd3k+t3Hb5YizFmDTr0sOrD5n8/HN1Ufw1geuA3VboEQK8Wvl3tdf/vwHOOeHv4s0tS2vbdcuP/7r9384kPfi337xI5z2vQ849suLXPvbNmcQHNqv32B00e408cuffg9f7qwGbm+Ifw9vSTQRoy66fcedjomd20KCumCsBRzavzEUwaH9SLIWYtQFOk21/TY9C+XXdmk30W2BSF4GzMeHjeLCg4hRG7EB3M8kWogZ79Qj+9ffr0sSbcS9yNCh/boS8PKduOw69mv1OZuP68eM97Ur/77urj+MJPRnYX1t63ZXj3u8Xy6ctvSQa7+8sPEUwfTFiCXSYJ0mYokk/uD9V+PqnXt6h5NHxhD71j6wTmvdcadjMudSPAVMXxzu9/bK9MUg434p77fpWYR6T0zfSfY5rjkODNV0OLX718F+/oWB3s94IonrPnA1rt352t7hxJExxL+5DzBmYFL98iMjgv1inda64+ZjXu7l6NlvAbv/i67XduuX6ueYPfPNYPd90fKe9Nr1INcbzzUE6L6xQ/v1G2ylaZ2OB3nusBJkvwd1T/w8R+P41PmvPzyz2J0KvrNr8SXbQeH3fvq5dlD98nsvgxpH/OLSLy9yPbSKgIiWADw56H5YsBnAiUF3woZh7duw9utsxtho2I1Gsi1N1C85pOV6mF1DTzLG9rh/LFyI6OAw9gsY3r4Nc78G1HQk2xJE/ZLDi1xvuPTRiIiIiAi1RIogIiIi4iXOMCuCmwfdARuGtV/A8PYt6tdwtOtG1C85Tpl+DW2wOCIiIiIiHIZ5RhAREREREQKRIoiIiIh4iTOUioCILiOiJ4noGSL61KD7wyGiQ0T0KBE9PMDUQxDRbUR0zLzNIhEViOhuInra+Jkfkn79OREdNu7Zw0T0GwPoV5GIfkxETxDRY0T0H4y/h37PItl27Uck23L9UiLbQ6cIiCgO4G8BvBPAeQA+QETnDbZXa3gLY+yCAecP3wHgsr6/fQrAPYyxMwHcY/w/bO7A+n4qL5puAAAgAElEQVQBwJeMe3YBY+yukPsEAG0An2SMnQvg9QA+ashUqPcskm0h7kAk2zIoke2hUwQA9gJ4hjH2HGOsCeBrAK4acJ+GCsbYTwFU+v58FYA7jd/vBPDuUDsF234NHMbYLGPsIeP3JQBPANiF8O9ZJNsuRLIthyrZHkZFsAuAZvr/jPG3YYAB+CERPUhE1w+6M31sY4zNArpwANg64P6Y+RgR/asxvQ59Wm+GiKahbzD/AMK/Z5FseyOSbQH8yPYwKgKrOtrDkuN6EWPsQuhT+48S0ZsG3aENwN8BeBmACwDMAvjCoDpCRCMAvgXgjxlji4PogsXfItneuJwysj106wiI6A0A/nxycvLt09PTg+5OxCnMgw8+2AFQZIzNEtEOAD9hjJ0dVHuRbEeEwYMPPngCuhvrzaKyPYxF534B4Mzp6WnYlup1Y1jLUA9rieEgrz2ost4C1yaiEwCuAXCT8XOf2k6sQ5ftzVkc/PaXwy9f7MSgykwH2fawlooO+Nyp81/fOLzEvgMJ2R46RcAYaxPRxwB838v5nRceQOeOKxBnLXQoib/a/pd4LnM+AOCMlcfwH1/8E8tjbsfNx2KJFOgaua3vWPkBtO+4AgnW1jerCHEbws4dV4A6TfXbH2oH0L79ClC36fl+JlgrkH4JfudZAJcS0YcBlAG8V00HrOnJ9uLs95u3XY4v7lh/vz4x+ydIYgPJiHYA3TuvANpNUEJ+K9TG8/+C2N9fhYSX72xsWRrr6vJlvp/8XnLZs7vXQclf+3Z9i02Ky99PX8/ijiuwbYR2HV5iNwH4hqhsD2OMAH7SsBaeuBexbgtxdBFjLeysHsSR+TqOzNexs3oQcWZ9zO24+RhrG1vfSbD85E9AnRaIdVa3rwuDQ/uBThMxdMFUt3toP6jb9Hw/Y8Y2hEH0i39nl3vdYYxdwhg70/gZeFaILtsMMdbCtspBlCu13r9tlYOIdQcrI9LtHtoPtD2eC+DIw3fr+wp7+M6NZ/4Z1FmVL/P93FZZK3t299prv53oPPdToNMCMY/308+z6DRBABhjczKyPXQzAr+8MHohzkECceogEU/h2g9djWu5RtXSwJ3/A+g01x9zO66lwe78BtqtJhBPICa5/Zw2/hqcjgQIbcRD3oawjQQYayOeSCptt1v6NTRZAilqI5FIS9/P9u3fQNvYbpIUb6HZRAJJ1kY8kVJ7bSUQEok0fv9DV+P319yvDFZu/dpAZKRlkhGp+zV9MdqU1BVYPIm4ZJ+fzl6A7Ugghg5ikt95dmIPthnnJhKptfdTy6yRPat73bzt62izFhKK7/Xxyb0Y9/qur3kWkrJrPAsvW1WecorgV/Fz8LnmjbjzrU2MnvOWtdOq4l59qmXnf3M6XtwL/N538De33o6R3W/GdZLTyCfi5+A/NW/Eu/PP4/c+8Lvh+X+Le3EdPoNXtB/FlZf/Ds5R2O7x/KvwR80b8b+/vIJXv+kK6fv55Dv+Ad//zv/A29/xHlygsF8Lm1+N32/ciNfHnsB1H7gahWHbVnRsB3DNtyzv1+cKN+H81r/ig7/zodBkhE29Ftd2/hMu7D6G3373+3GGTLvFvfjc5H/F6OwDeOXrL8dlkn1+iJ2FrzRvxIeLR/CuK94r9Z2fTJ2LTzRvxN9eVMOOV10q/a7fdeFX8NT9/4QbfvdajCi818+kz8MXmzfibbmnccM110p9p5NbL8TVhuz+wfuvxmbJZ/Enuc/h6PIfHZHt8ymnCLRKDb+Kn4NNl1wGxCyy9Yp7nR+Mw3EqvQ4/KDSxo5nBdbL9qtbwEDsLz6+cj98LcWBaqLewf+UM7McZODNxDs5ReO1yRf9OC3teCxRt0pQd7mfhnF/Dl7/dxK74ObhAYb80o18Pdc7CWzPno6Dw2koY2WZ7T+rbXoO/eW4aHwxRRo4vN3B/azfux268MnkezpA8/97l03G4sx1/iDMsl946wd+LRPz1eJfkd+bPOfOWS4FNqfUfcHnX09NvwJd/nsZvZM/HyyX77dgv4zv9snYW/mD7a5DxcO5DnbPw5sz52CxxLmMMP1w8DYeX2IuyfR7KGIEftEoNU/ksYlZKQAHFfBZapSZ9Xtk4p1prYWmlpbpbtpj7qlXqgVy7WMh5On/baAapeEx5v2aqpu9clX9Wg6RYyGF2cQWNdie0NtfKiNz9anW6mF2oezrXfI7Xc0fTCUzkktLnAqty66VtJ/i7zhhweF5Otstzq30pS/brxHIT9ZY3uVGiCNwKaRHRtUR03FScSdagFqZcqaHkcWASoVTIQavWILv+IsgBWbRdWcFyo1ypgQjYNZH1dH4sRpjyqFjd+tX7fc7fvQ5btkuFHBgDjsyv+LmMFGZ5lFWcR+br6LL11xFvW2/vRQ/KT6vWUSzkQOTN6CtNGopAsbHgR7FqVdOzkD7X+/fwrQgkCml93VSc6Ra/7dqhVWoo5oNTBMVCDiutLo4vN6TO0yp1nL1tVP89RCuVt3X2tlHlA65WqWPbaAaZZNzzNaYMxaoSrVLHWCaB7WMZX9cehGxzK1W10naCt3Xm1hHpdvnnz942Kn3u0koL1VoLZ28b1a3nqqT1XKmhWPBmhADAWCaJ8WxS+b3WKrXVd112MDdmOTvGM57O9YqKGcHQFNJaqLWwuNIOfEYAyN30lVYHLy6u4I27J6XP9Uu5UsN4Nonzdo4FoAj8z75KhWwgM5ViIYei/2uHLtulASmCbWNp7PahCN64exIL9RYW6uJuTz6D4O+FTNuMMUXyl0NZ8Qy9XKnhwtPySCViayx80XOnCjkUPRhIZreSLCoUgWghrfcYxZm+SURFBe2ug984rz5rEbgFIjMN5n7Cl+8cx2gmEaoi0Cp1lAzBml1cQbPdVXftag1TPiwyACjmc5ivtbCoMG6iVWu97zzj716HLttbR9NIJWJ++y0FH1BLhRxmqnV0u+JuT61SRyoew57TCr1ricIH/otepodEZQbN40sNNNpd3+96sZBVeq/5LOe0yRyK+az04Kw/i6yhoORdQ1tH01LncFQoApFCWt8FMM0YeyWAH2G1POraCxFdT0QHiejg8ePHpTvCb5yf6aIbU3l5i41/VhcO+QfsB82YPnPfs2zwyo5GW5/lqLDIAHWzpG6XYYYrv7zvwGvoss3jJqHLSD6HqUIOzXYXx5bE3Z5apYZd+SxOm5R/jvyzr+HWs4d3yr8ikFd+TnADsZjXDRHpWU5VfxbFfA5HFxtYkQj+8pmwF1QoghkAZitoCsCaPFZjlRuXrq8CeI3VhRhjNzPG9jDG9mzZskW6I36zWETIJOPYNpaWesAzpn7pweZwgsXdLsOMEVAr5vlMRs0Ac7haB2PwrQhWMzfU3JNjSw00O11MGffaZ+B1ILJdzKuPm9jRbHcxu7jSk01ALoalVfXBx0vgVavWMJrRs35ks/F6s3+f8cBiPodmp4ujS2qC87xffIalVcQTS44vN7DS6qI0mUNpUn9fZyTGCj7794IKRfALAGcS0elElALwfgDfMX/AqH7HuRL65gnKKVdqmMglMZbxlk4mSjGfk7Ze0okYtoykUZrUz1VlgThxdGkFzU5XF8pJtb5nlRYZoE5B8X4p+s4Dke1SIefL3yvD4XldoZuNBZm2y5Uaivmsp8Br2ZiJEJG09cyzwaby/mb/vZiMovu9aoxmUcznsNRoC8dNeucaMwLz39zgabxFj/fDtyJgjLUBfAzAD6C/BN9gjD1GRJ8loiuNj33c2E/zEQAfB3Ct33atCDp1lMM1vShapd5b21DMZ9Foy2cdeYELdzGfM+XsqxV4v/d7PKs2c6OnoPLZ3svk9dqDku1SIYfFlTYWasGvNzE/x135LIjErfrFlRbma62eDOjvhYwFW+s7V25GsH3MX8Yab1e/npoZqVbRZznj2aT0bLfnVvIwO+NpvF4NMyUri40icXf1/e0zpt8/DeDTKtpyYqZax3k7xoJuBlOFHGYfPoxmu4tUwl2XmhWU2QLeNiaz5lAeLtylQm41Z1+Ry0Gr1pEyZjl+KRYU9ouvbchnkYzFfAdeByHbvYSEag3juXGVl16HOa6WTsSxYywjrDj7jYFSIYcnZsX2ROl2GbRqHZecu01vP7+q/MYFFoj5TR3l7JzQlZ9KQ4TPcswZYK+Ycn+OvA9T+SzSiRjSiZjwTKXs0zA7ZVYWd7oMM1XvwRIZZAKvPM2t2KcIwggG8gVfO40FX1MeMhFsrz2nuwRUrOD2kiFhh1bRLcV0Ij6QwKsKwpQRrVJDKh7DtlHdKJmSsMz7Y3JThaxw4PX4cgPNdrfnypD9zjM+AqNmUokYdo6rW9S41uhbVeii524bSyOTjPfcZTLn6m2+xBXB0cUVtDosFNeQTOB1od7CUmN1bcMuwwIJY3XxTKWGnePZ3qylVMgqa1dTqHSLeXWZG/39Kkm8TMNCUKUPrOApwFyhy7h3zK4Mfq5o4LV/4JJxhTTaHT3ArWjhqKrV7Tw5g8emRjNJ5HPibs/+dREyaxx4Gq9XL8MpowjCSB3lyAQh+wU+k4xj26j49NsP5UptTTCtVMhJL/pxurYqpVv0kLZoR3+/ivnwAq+qGMskMSExgPiBuzI4xXwOLy6uCKUtlis1jBn+cH4uIBZ47Z9N8PdW5DsfmV9RkrHGUTUjPb5srG0wvXNFyRnW2mehr3EQyTriabxxjzP0U0YRqApeiiATeDXnFXPCslL5wiqObCaCHQu1FpYUruD2krZoxUqrg6OLjXX3OqzAq0r0FNLgZ439KYc8bVHE7alVaz2jCJALvPbXqeLWs4hsqspY4xQLORxbksvZt8IqfV1UEZjTeM3nLjXamBeQXb8z9FNKEcRM/vAgkQm8Ws1UpgrqC6310xsU+wQL8K8IVoNa6l5EwH8KH8+55oOZfm05P+2wIJtF4wU+OzTLpkyJi/7Z186JLGKCgddyZX3Wj2gKqd/AaD/8OjM+ZcRKQZUKORyer6Pj4vY0p/H290v8WXgf+04ZRVCu1LBjPItkPJyvJCq0WrWGfC6JUdPahlIh56naogwz1fUvi6ogpOoXcZeizA1zHjZnEEXcVFAs5HC46j6A+MFqFi06a+QruM33OpWIYYdg4LX/XEDcep6p1JBKxDyXU+hH1aJGrVJfV423mM+h1WF4cdE5bmL1TvX65aKgeBqvn5jJKaMItKr3VXVeKAoGXq0KY/WyjgKc+vcH8oDVnH2/1vFqTSc1s69UIoYdPiuFAmtXdXLCDLyqpFjI6oFXlwHED5rFzG7LaBppgXIPfAV3vzuiKDjbtSqHUMyLWc889qVqzxGZ+IQT5UptXTVe0QVr5oVoq/0SM2JUuMVPGUWgKq9YFNHAq1bRqwmaCcNKtQue6xU5/SmgcmX9LMcvMkE1O8pzxgpuk6UYZuBVJaprMFnRU5wmP7/oKl87P71ILa2VVgdHl1bWyWapIGY998e+/LJlJI1M0v9iS6t+ibom+9N4AWAknUBhU8rV4FRRWueUUAT1ZgfHlxrhzggEptAdnk5mMSMA1K1mtEKr1JBJrl/wVSr4rsi5Zl2EKoqSq1Kt4AGz/o1KwqzvpAq/q6JFsCvJIpJCameFlgQCr9wfbvteuCmhObV7jhCRkmKQVu8Fj5u4faf+NF6OiIFkNfuX5ZRQBDNV/xpRFhGXw+xCHe3u+rUNW0bS0tUWZTGvcDSjotpiEIqAx038ZG6UbYpuydaGGgZEBxA/lC389MDqdqxOaYurixXX5q1zuXAKvNpZsCIumqD2HPGbQsqr8fbPcpJxsbhJfxovpyiQlNKfxuuFU0IRhLEPQT8i7h2r1FEAvZpDwU777QdFP9UWO12Gw/PWA4gf+AvktUw2Y0xfbWpRdCuMwKtqeoHXAGcyMzZrQXjaopPbU6vWsMNYwd1/LuAceLWbTXDl5zRjVR2f4nADSXYLWo5TNV4RJWNXObRkyG67Y7+PSH8arxfC2rM4TURfN44/QETTKtrlmIurhYVI4NUpiCNbbVGG/rIWZvxWW3wxoBXcfnfmmq/pK7itvrOfwOsgZVvBDmu28FWwVhsLiTwLV/lyONdcjdcMt57dzgXUG33FQg7LjTaqHtebOPXLbYXwQm19Gq/53HaXYXbBXnZVLO4Ma8/iDwOoMsZ2A/gSgM/7bdeMVq0jm4xj80hK5WVdcXvAWlVf27BjYv2y7yDzxOdrLSzbDor+4hNBLdzruRQ83hOnWaFXJTNo2Q5SRswlyvsRme3abYKyeSSFbDLuOlO2y/pxs56D2nPEb3DeXOCxn2IhixPLDdSb1m5Pq2y31XOdU0it0ni9ENaexVdhdeembwK4hPqd1z7gGlHhJYVw2+auXKlh54T12gZztUXVmEsx9+M3Zz+oUh48c8Nvv+zcYYCnl3ygsl3Mq1nxaoXTLNrNvcMXK1rdaz3ryNnt6WTB6pVo7Y2UoPYc8ZtCqhlrG6yq8boN5lZpvBw3BWWXxitLWHsW9z5j1HhfADCpoG0AfJoaXuooxy3w2l87pP9cIJiskN6gaOE37OXs+xD4IFZw+83ccJqa+wi8DlS2+fPzu+LVCicLlqct2j0LvoLb7p1zeo5Obkven+NLTtZzMOuFesaCx3utVeyr8bollji9rzvGM4jHyFYpq3KVhbVnschnPO1Z7CZYQeIWeLXLYgHU1dexwm0bPz85+1oluBXcflJItUodhU0pjKTXb7HhI/A6UNn2sj+2KP0lyvvRjRwbC9bBlbF6rnXgtb8ar9W5gL3yczKu/LApncDkppTn98Jpv2A316RWrWE8az3LScRj2DlhX6RSlas2lD2LzZ8hogSAcQCV/gt52bO4crKJk81OqIFijlPgtd7s4MRywzaar2o1oxVapYbJTSlsshgUAX+pckHuAie7x6sZN2PAY+B1oLKtehtFM1plbYlyq7bdBh+ngc8u8OqW8+40U+50GQ4be3AHgZ8EDqf3YnJTCrlU3MGqd57lOBWp7C/e55VQ9iw2/n+N8ftvA7iXec3T6sNpihs0TkLLH5zdnqoy1RZl0SrOL4ufaotatR6YG24qn5Xa49WMVrVOHeV4DLwOVLZ54DWIFFI3d2oxn7VNubVbrNg718EVshq/cpkpW5x7dHHF8IcHI39eZ6Ru1Xjd3J52aby9fjmsg+FpvCI7JToR1p7FtwKYJKJnAHwCwLo0PK84+deCprfJjMWLyq04xwccUAqp0zTV3CdZ33PQK7i9ZvdwS9HtZTrm4Hu2YtCyzQOvgcmIwyx6NW3RQrZtFiuaz+Wf68dtHcDkJp51tL7doEvNlwpZHJ53ztm3QqQar52rreOQxms+98RyE7Vme90xVW7xsPYsXgHwXhVt9bMacQ8/WOy0zZ3IIrdiIYfHj4jt8SpKu9PFkfk6rnjVDod2+Q5rdezeOip87aBXcHNlrlXqeOXUhPB5fAW3o/IzBV7P3Cb+nQcp20AwKaQrrQ6OuSh082y3f4Aru8w4+btopQjc6lTxvX7tzgWCVAQ5dIycfRkZd4uZAPo7d9+zJ8AYW6NA+SxH5FlolTrO3r5WdsuVGi4+U8zV6MSGX1msVWrYPJJGLqVEp0ljt81duVJDLhXH5Cb7tQ36Fo01pSteZxdW9EHRxTrhfZQhqMU8HK/1dUQGiCmfWSGDYirvPW5ih4hC780a+yxzvoLb6V5vSieweSRlaQFbVePtp1jI2p4b5J4jXtOMRVKqS4Ucas0O5k421/zdqnS61bnmdjhOabyybHhFEHbV0X7srBfNWOThlFIuWm1RBpHps9ec/aAtMp65IdsvqZdpg21bWSrkcLLZ8bzi1QqRImU8bbH/WfAV3G4z8Ckbn7hVNd5+uMu0X/lp1Xqge46I1v/vR3OZ5QD2SkbknbLbI90tjVeGDa8IVJeklcUu8Criu1t10agbnERcUjx4JduuVtFXcDvNcvwy5ZC2aIdWqSMeI8sV3JwgA69BEsR6ExELlqct9g+KIm4Qfrw/8MrrVLnOCPK69Vzps56DNvrslJ8bbjE5wH6fc61ad0zjBYDCphQ2pdav1hZ9FiJsaEWg+8NXBpI6yrEKvDLGhBSU3/o6VpQrNX1QHLcfFHnbXgQ+6BXcXvu1cyLjaCkGGXgNkqBkxCnrx9x2f7uiyRmlQm5d4FW0TpXddxZxK/khEY9h14T8fh1CRl+ejxNrr+2Wxgus7hHRbyCpLLexoRXB7MIKOhZlnsPEaj3A3Mkmas2Oq/UiUm1RFq1Sx66JLBIu02cv1RZnqsG74ZzSFu3QU0fdZSDI2j1BMWXjFvCDJqjQrWaNbumfvXML2V7gtXeuYHFIK+uZB7iDNvpEd1jjiM5ysqk4No+k17kmRWc5VhmG5TkxhS7ChlYEQQcvRbCqyyKa5iZSbVEWGcGSqbbIGBOaAvvFKW3RDlFLMYjAa9DwwKtKReCWOsqxSlvUKnXHxYrmc/XPr/Zb1JXBlZ/Zeu7twR1wmrisscBnOWKGyPq9BURXSnNXm1l2uQGkYoa+oRWB1T6fYWMVeJVRUKp3z5oRjJnYBaDsqPBZTuAW2XrF6kSt2caJ5abwvT5p4Xsedqby9itLZWFMz1sXuV92Ro5bsBewzgDjWT9OsRwAyKUS66xnkVx9FUzlc5g72cTJxvqcfStk1jb0W/Uiaby9c/NZ1FsdnFhelV23NF4ZNrQiKFdqSMQIO8YHpwisAq8iWSwclX7rkw19UBR5WeyCV3YEnTHEkS0HLLNNn98S3IPC7+5ZZqoOJcqt2gXWW/UiMrBjPINEjNYoMK1iX423n2Kf9cyfc2jyJ6h4Zarxlgo5zC6soGXETWTW5fTW2BjniKTxyrDhFcGufBZxi4p/YdL/omqVOjaPpJFNxR3OWj3XqdqiDDJZBLI5+2Gt4JbN3HAqud1PEIHXMCgVcjgyvyK94tUKKQu2b2FYr9aPwL3Ws47WBl5FXVK8f/2z7DD2HClJzkhnJNY2FPPGgrV5PW4i4znoTz8VTeMVZUMrgqBK0srSH3jVs2vEHpDIHq+iyFjHPGdftF3urw16Bbdd2qIdMgNbEIHXMLAKvHpFxoLlaYv8WdjtwW1Hv7/drbiamWJ+rfXMY19B7zkim65brohX4+2/9ur76v4sepVoDXeZytRRYKMrghCClyL0B15l1jaozBOXdd/I1Doqz4W3glvGFVKu1LApFUdBYG1DEIHXMAhCRkQsc562yO+XF/ni57pV4+2nV+7BsJ6DTh3l5HNJjKQTwjIiU423370jmsYL6FlHW0fTa841X9MvG1YRLDfaqJxsDnQNAcc8hW4ZtX5EFZSP3bPWoRmDYj4ntnuTTLVFLYTUUY4ecxGcmld1Y0DUUlQZeA0LlTIyU3UuUb6ubZNSls1bLxayvcCrWzXefqZMadl8z5GgA8WArvzsysZYIVONd/tYBsn4qtvTrXhfP+ZnIaPQRfClCIioQER3E9HTxs+8zec6RPSw8a+/jK8ngq5EKMNqsbQaZudX0GXiL8vqHq/+A5h8hiQqWDLVFoPch6AfPW2xYVltsR/ZlFbR2cYgZbsfHnhVNSOQvV88bbG3gttlsaL5XEA3ImTfV/O51VoLJ5ud0ORPVEZkq/HGY4RdE6tKRnaWY16tLZrGK4rfGcGnANzDGDsTwD2wL8FbZ4xdYPy70uYzUgxD6ijHHHiV1dS82qIKK1W23EYveOXie251unpFxpBmX6txE2flyAcnmX5JBF4HJtv98MCrimwnTcJPD6xNW+QruN0WK66eu+rXll3zs2M821N+Ya8XKhrvo9t6Ey/VeLm7zMvOisV8FrMLdbQ6XeE0XlH8KgLzxt13Ani3z+sJE1Y6owjmwKvmYeGL7GpGK3qDoqSFAbi7HGbnw13BLVog7sRyE/VWRzgwD0gFXgcm21aoSCFtd7o4PC+3sZDZry1raKxa9XVolbprNV4z8Rhhl+GiCXv2XyrksNLq4vhyw/FzXhRU0Vg3xGc5sud2GXBkvq68xppfRbCNMTYLAMbPrTafyxj7td5PREpeqJlqHaPpBMazYv7woOH+u3KlhmScsH1MbPrMz/W74nV1UJQTLMA9Z1qkkJ1KRHO5vfRLIvA6MNm2oljI+S5F4qUki9lYkHVlTOSSGDUCr17qVPGsI5lMJxWIppB6UVClQg6Vk008Mbvo6VwAeP7ESWMjJnX3w9XBREQ/ArDd4tCfSbRTYowdIaIzANxLRI8yxp61aOt6ANcDQKlUcrwg93UGnU4mSrGQwyPaPCZyKeyakFvbUMyvrnid9Fg3xMvLIpqzH/aLmM8lLast9uPlRewLvJ5FRL+y+NhAZduy30bgdbnRxohHv7DMQkcOD9A++eKS8GJFDhFhyhjMRVcz97f9gyMvGnuOpELbc8RcFfg1p1mGhgDo6bCy1Xj5vf/5MyfWtCXWL/3cA89XXPcckcX1zjLG3mZ3jIiOEtEOxtgsEe0AcMzmGkeMn88R0U8AvBrAupeFMXYzgJsBYM+ePY7mcblSw+4tI27dD41SIYu7Hp3FaCYhLfDmhU5eFYGXQVG02mLYK7j70xZt+zUnX3agL/D6FGNsj00fBibbVpgt83N3jMmeDsCbKyOT1NMWf/7s3Jp+iFIqZPHs8ZM4Ml/HRbs3S567aj2HmSY+JbjY0ussB0DvfsoM5tvGMkjFY56fhRN+XUPmjbuvAbCv/wNElCeitPH7ZgAXAXjcT6OrgZbBB4o5PPDqRWhVlD5Y3bJTtm33+IQ2gBXcIqmtWrWGLaNiK7g5EoHXgci2HSpSSLWqWInydW0Xcnh0Zr73u9S5+RyeO74sVI13fbv65x89vBBqmjhXfm732ks13t53mpmXzvrhcROvz8IJv4rgJgCXEtHTAC41/g8i2kNEtxifORfAQSJ6BMCPAdzEGPP1shxfaqDRdt7nM2x4X7pMXlOr2KCmXKlh62gamaT4oAiIVVsMazGPGR4cdYqbeE1pFaANBVIAACAASURBVAy8DkS2nfoM+FtUVhYsUW7VNq8KLj0jmPRxro93yi9uMuK1Gu94NonRTEIqxdwMDxh7UehO+HK6McbmAFxi8feDAK4zfr8PwCv8tNNPb3HKECkC80OVtV70aov+VrxqVW+rrM3VFu2sE61axzt2jnvumxd42uLcySY227jLtEodr5229+HaXruQxQ8fO+r4mUHJth0TxopXt5RaJ7wqdL5gUmax4uq5pvfCoyLQzw139l8s5HDg+YrtcV6NV/Z+8iKVj88u+noWMmm8ImzIlcXDlDrK4YFXwFu/ZMo9WCGbH85xy9DhK7hDt8hcqqPqaxu8fediIbduE/Fhh8dN/MmIN3cqH8C9JGf4MZDGs3rWUf91wqBYyOHIQh3NtvV6Ez8re0u9+yn/LPi5qt/HcMLwXlg+CmgHgOLedYdahx7ADfEfYGq5AGx5wwA6t55EPIa3j76A05d/idPreQBvlDr/TdnnkTvyL4AWs/zO0A4Ah/YD0xevO95sd7F98RH8Vu0YoDWtz7ehVMjhQnoK8Z8fBPa+c925Jx7fjxvi+/BKRgBeJvWd/MD7lbn/AEDvWt+vJ/bj38X24VV0BYCzPV27PUpW2XBDy5tzz2Hz7C8AjUnLyMlGG6fVfoWrln4MaCueZOR3SQO0jNS5U/ksLqSncEn2aWSPbpE6l4hw6dgL2F45iN2NUQBvEj7XL6VCDq/GUzj5o0eROv+t6/q9/Mx9uCG+D2e1NgHYJnXtN6SexRnxH+HVdDmAc6T7dSE9havbR+zHCg/QsO7WtGdngt33hwX8X1NfwPPZ83t/P73+GD6qfQIJtJFIpIFrvqPsZvhCO4DGbZcjzlry/dIOoHX75aBOC91Y0vI7//uZTyLOWujQ+uM7lx7F/3bkPyJNbcQk21586udI/uO7kaL2umufXn8MH9P0dmOJFGLXfje0e914/l/QveNK+37NfBLxbguUSCEu2a+nD96Dqe++Hxd/tYKDRzqh5x/v2bOHHTx4UO4k7QBat10O6nqTkR2Lj+ITs95k5Pjj+zHy9d/ydC60A1i59V1Ioo24h3Obt12OWLeFeDINCvFdf+yBu3HGXR+0lb+Pap9AgrXl+6UdQPv2y4GON9l99qF7sXPf+xyfBRE9aJcNZ8cQu4YYYqyFsaMP4PHZxd6/saMPIIk2EugCnaZuAQ0Dh/YjyVre+nVoPxLdFhLUtf3OcdZCHNbHt8z9AilqI+ah7dEX70eK2pbXHjv6ABLQ+0XdVqj3Oj1zn3O/mHG/PPRrevmXSJHYDlRDw6H9q9/Zg4xsrXiXkckTBzyfi0P7kYL+HD29F8Z3ppDf9d21hx3lL4m2t34d2o84a3uW3dLiQ96fhQPD6xoCIZFI4yNX/x4+YtZ4Wg6485v6TYin9GnwMDB9sa6hvfRr+mKQcW4innL8zm7HZdum0y/WLTWra5uuS2Hf6+ng+pV82ZuAn/0VGDCc02ErBigjsdMvBnzItp/3wvO5Pknv/nXg519wlT9P73o85Vt2Vd+T4XUNnVNkB+/+lrQvdKD46ZfbuX6Pe217kPc6yH5pBzB1/usPzyx2p9R0VhxPriFgeGVkWM/1S1Dyp0B2nc734hoaWkVAREsAnhx0PyzYDODEoDthw7D2bVj7dTZjbDTsRiPZlibqlxzScj3EriE8KavVwoCIDg5jv4Dh7dsw92tATUeyLUHULzm8yPUQB4sjIiIiIsIgUgQRERERL3GGWRHcPOgO2DCs/QKGt29Rv4ajXTeifslxyvRraIPFERERERHhMMwzgoiIiIiIEBhKRUBElxHRk0T0DBHZbRoeOkR0iIgeJaKHB5hxAiK6jYiOmXfXIqICEd1NRE8bP+XLcgbTrz8nosPGPXuYiH5jAP0qEtGPiegJInqMiP6D8ffQ71kk2679iGRbrl9KZHvoFAERxQH8LYB3AjgPwAeI6LzB9moNb2GMXTDgtLE7AFzW97dPAbiHMXYmgHuM/4fNHVjfLwD4knHPLmCM3RVynwCgDeCTjLFzAbwewEcNmQr1nkWyLcQdiGRbBiWyrUQRWGnLvuNERH9tWEH/SkQXOlxuL4BnGGPPMcaaAL4G4CoV/TxVYIz9FEB/sfSrANxp/H4ngMA2UrfDpl8DhzE2yxh7yPh9CcATAHYh/HsWybYLkWzLoUq2Vc0I7oC1tuS8E8CZxr/rAfydw2d3AdBM/58x/jYMMAA/JKIHSd+MfJjYxhibBXThALB1wP0x8zHDALhtENN6M0Q0DX1f4QcQ/j2LZNsbkWwL4Ee2lSgCAW15FYC/Zzr3A5ggfUNwK6zKAg9LatNFjLELoSu2jxJReAXSNy5/B30jgwsAzAL4wqA6QkQjAL4F4I8ZY4uD6ILF3yLZ3ricMrIdVoxAxhKaAVA0/X8KwJGA+iUFY+yI8fMYgG9Dn+oPC0e5cjV+HhtwfwAAjLGjjLEOY6wL4KsY0D0joiT0F+UfGWP/0/hz2Pcskm1vRLLtgArZVraOwJiWfI8x9nKLY98H8F8ZYz8z/n8PgD9ljD3Y97nrobuOXrFp06bUOefI7d4TESHDgw8+WAfwWcbYTUYGT4Ex9qdBtUdECQBPTU5Onj49PR1UMxEvcR588MET0N31c6KyHVbROSFLiDF2M4Cbieg3zjnnnO97KtUbESEIET0J4FIi+jCAMoD3BtkeY6xNRB+bnp4ORrb9lKF+KZZQD7LE9QD7RUTzAG4C8A1R2Q5LEXwHelDlawBeB2CBBzKsYIzdtWfP0BX1izj16DDGLgmzwcBk27StYwsJXIfP4BGc1Tv8KjyFW/BZJNFed5wfS5G37SQ7d1wB1mmixeTa5cdvpc8iTR19oxaJtln5ATRvuxxxZv+dnNq9BZ/1tv2mwD1p3HY54hbPQrRfnp7FKguMsTkAwrKtRBEQ0f8L4M0ANhPRDID/DCAJAIyxrwC4C8BvAHgGQA3A76toNyIiQoc9vx8xY7tTQhsf3jWDn+9YHQcumr0X6cP6Fof9xy+avRepw/q2jKzTBB3aLz74HNoP6jQRRxdEcu0CwN6Ze5CYbYPMWy8Ktl17+p+RNrZ9tPpOTu3y7xzz0K4brWd/irjNsxDtVzyAfjmhRBEwxj7gcpwB+KiKtiIiItazsP11SCOBGDqIJ1J462XvwVuLprVq2nuAO+8EOk3E433HtfegffvtaHdaiCeS0lsvtimJGGshkUjLtQug88J70LztdhA6iEtuvTgzfiFKSCBGHcvv5NQutPegddvtYN0W4okUSOE2mLP5Pdhi9yxE+nX77WAd9f1yYpg3pomIiBDk+cz5+FzzRvzFnkXs3vvO9VZkca/uZrDyPRf34pG3/t+45//7Fq664ndwtowFWtyLz0z8H3h151d433s/KNcugPhpr8Mns5/FZSPP4Mqr3idl/T6ZPA+fbt6I//6mFWx5+SXrvpNTuyjuxd17v4pf/ez7uO6DV6Og0Op+OnUu/rh5I/7mjSex84K3S/dr/xtuw8GffAdX//aHsCOk7TkjRRARcQpQrtTwEDsL3V97E7DNZpfC4l7bgXb8rDfiy99r4+zEuThbsu0fLZ0GOm8v3ld8pXS7ALC05ULcWn8FrpQc9DTjO2+65B1AymIoc2k3e/ob8OV/TuCSzPkoSLXsDH8Wqbe8DRhJS/dr08vegC/fQ3h9+jzYLbZSzdDVGoqIiJBHq9QAAMV8ztP5U8Z55bma1HknG22cWG6iWPDWLgAUCzmUK3LtAnpfN4+kkbNSAoLtAvDUthPlSg25VByTm1Kezi9NBtMvJyJFEBHhgFu1UCK6loiOmypQXjeIfmqVOjaPpJFNxT2dn0nGsXU0Da0qN/jMVOsAvCsgfm611sLSSkvqPK1aQ7GQ9dzuVF4/V6vUPV/DCq1SRzGfA5HVQnJ3to1mkIrHpJ+FHyJFEBFhg0S10K+bKlDeEmonDcqVGko+BkUAKHmwzPnnSz5mBPxc2QFZ/87e280k49g2llZueWuVmq8ZUixGmMpne7O8MIgUQUSEPRumWqhuHXsffADdVSI7GPdcUr5cQ4ZlLmEBtzpdzC6s+JqJAPpsROWAyxjzPVMBgCkPz8IPkSKIiLBHtEbWe4wKlN8koqLFcRDR9UR0kIgOHj9+XGknW50ujszXfVnHgD6Yzy7U0ep0hc8pV2oYSSeQzyU9t7s6IxAfkGfnV9DpMt/fuVRQqwjmTjZRa3YU9CsbxQgiIoYEkWqh3wUwzRh7JYAfYbUG/NqTGLuZMbaHMbZny5YtSjs5O7+CLvNnlQP6oNhlwJF5cUt0xpiJePWHA8B4NonRTEJqQOazBxWzoNnFFTTb4srPCU2Bq4yfv1BvYaEuFzfxSqQIIiLsca2RxRibY4w1jP9+FcBrQupbj7LPjCFO0Qieylii5Uqtd55XiAjFvFx8ovedfbpgioUcGAMOSyg/J8oKXGXA6rMMK04QKYKICHt+AeBMIjqdiFIA3g+9blaPvn01roS+Q1So9AK2kz6tUMm0RcYYtIp/lxQgH6jWKjUkYoQd4/4D5IC6VE2/abycogd3mR8iRRARYQNjrA3gYwB+AH2A/wZj7DEi+iwRXWl87OPGpuGPAPg4gGvD7qdWrSEZJ2wfy/i6Ti9tUTBIeWK5iXqr49v6BXTLfqZaR7crVha/XKlhVz6LeMy7S4q3C6gbcP2m8XJ6iiCkFNJoZXFEhAPGhuR39f3tM6bfPw3g02H3y0y5UsOuCf+DomzaoorUUU6pkEOj3cXx5Qa2CSg0rapmJrKq/NQMuCrSeAE9bjKeTYYWMI5mBBERG5wZn3nrZqYKOWErdKaqxk/P2wXELXOtUuuthvZDT/kpsrxVpPFyioVsaCmkkSKIiNjglBUqApm0RV6OQsWALOOrX260UTnZVDIjALyXuOhHVRovR3VqqxORIoiI2MAsrbRQrbV8Byc5xXwO87UWFgXKPWjVGraOppFJ+vOHA8CuCfFyD5qijCGOKsu7l8ar8FnIxE38ECmCiIgNDB/AVFqh+nXdLVG/JR7MZJJxbB/LCFnmKmMT/DoqcvZVpY5yioUcmp0uji6tKLmeE5EiiIjYwHDftko3CSCmCFSljnJEXSGqFm2Z2zVf1yu9Z+EzjZfjtQaTFyJFEBGxgVHvJhEbfJrtLmYX6r0grwqmCmJBW61Sw2g6gfGs97IWa9pVtHirXFGTxssJqky2FZEiiIjYwJQrNYxm1A2KommLR+br6DJ1VjmgX+vFxRU02h3Hz2nVuu+yFmvaVVT/X1UaL2fXRBZEkSKIiIhwQavUfNW+t6IoYJn3av34LC+xpt28Ue6h6jwb0bOk1LU7ltGVn98UUpVpvACQSsSwYyyDmUgRREREOKEyYMsRKfegqqzFmnYFLHO9rEVQ39mfL15lGi9HVWqrG5EiiIjYoHS7DDPVulLrGBBLW9QqdaTiMWwbVeMP5+0CuuvHjuNLDTTa3QAG3Kwvy1t1Gi+nKLHAzw+RIoiI2KAcX9YHRdXWcbGQQ7PdxbGlhu1n9JW9WcQU+cMBYOtoGqmEc7kH1SmanGLBX86+6jReTqmQw9HFBlZaznETvyhRBBtlX9eICFkEZDtNRF83jj9ARNNh9Y0PmCozdwCxbJVypaa8XV7uga9YtmI1NqH4O+f95exrCsttmOHXm3GJm/jFtyLYSPu6RkTIICjbHwZQZYztBvAlAJ8Pq3+qF1ZxRPLqtaqa4mpWbTu5Qspz+oA4pTBIzdvVr+/NDaN6bQNH1RoHN1TMCDbMvq4REZKIyPZVWN2V7JsALiGVKTwOlCs1EK2WZ1CFW9ri4koL87WW8kEPcA9Ua9Uato9llJS16G8X8J6qqTqNlxPWWgIVikDZvq4REUOGiGz3PmPsX7AAYDKMzmmVOraNqh8UedqinWWuavMVK4r5HJZW2lioWZd7UJ06ytlpKD+nQLUTQaTxAsCWkTQySXVlsu1QoQiU7esa5AbfEREeEJFtkc8EIttBpFFyig7lHrSAArbma9pZwKpz9TmpRAw7x8X3YugniDRewNs2nl5QoQiU7esa5AbfEREecJVt82eIKAFgHECl/0JByLZWrWEqAOsY4IrA2jrmfw9GERhVSC1mI412B7OLK4HMRABIbcpjJqg0Xo6eQjrkwWJskH1dIyI84Crbxv+vMX7/bQD3MsYCrxvcaHfw4uJKYDMCXu7BKm2xXKn1SlGoxmlGcGR+BUxxWQszsvsmc4JK4+XwYnxBipVvRbBR9nWNiJBFULZvBTBJRM8A+ASAdSmmQXC4WgdTWPu+H6e0xaD89IBe7mEiZ13rKKg1BJxiIYdjS/I5+0Gl8XKm8lksN9qYt4mbqEDJnsUbYV/XiAgvCMj2CoD3ht2vIEo8mOmlLVZr2L11ZM0xrVrDOdtHA2mXt23logkqXdbcLqBvwbl7q/j3C6tf5UoN+U2pQNqIVhZHRGxAuM84yGAxsD5/vdtlmKnUA7PKedtWimCmUkMqEcPW0XRg7QLy9f+1Sj2QNF4OV/ZBlpqIFEFExAZEMwbFLSPBDIp2aYvHlhpodrqBuaQA3d11eL6OTl+5h3IAZS3WtGu4u2TjBOVKLZA0Xg6/10FmDkWKICJiA1Keq6EY4KBol7YYtBuEX7vVYXhxcW25B301c3DtcuUnO+AGmcYLAJvSCUxuSgW6liBSBBERGxCtGkw+vRmrFNIg1xCstss3su9TQnO1QGciXPnJDrhBpvFyphzSeVUQKYKIiA1IUAuYzFilLQZV1qK/Xd4WZ6HWwuJKO5TvLDMjCDqNl+M1tVWUSBFERGwwFmotLK20A7WOAT1tcakvbVGr1LBjLINUIrihY+dEFjFaOyMIqrpnP7wctWjOftBpvL1+5bM4Ml9Hu9MN5PqRIoiI2GAEnU/PMaeQcsJwSSXjMezoK/cQhkuKX3+50UZVMGc/6DReTqmQQ7vLMLvgrUy2G5EiiIjYYIRpHQNrXTRBbMdo3XZ2XbvmPgXWbt46PmEHT+MNfEZgoZRVEimCiIgNRmiDYl9e/Uqrg6OLjcD94QDfl2A1OKpVa5jIJTGWUV/WYk27Avsmm+FpvEGtbeAEvS9BpAgiIjYYWqWGfAiD4oiRtsgHxZmAF7GZKRVyOL7UQL2pl3soV+qhtLu6b7K4IggyjZezYzyDeIwCyxyKFEFExAYjLPcMoKctzhiDYlguKb2N1XIPwGq9/6CRzdkP61kk4jHsnMgEljkUKYKIiA2GFqIiMKcthhWwNbdRrtTQ6TIcrgZb1qK/bdEBN4w0Xk6QKaSRIoiIsICICkR0NxE9bfzM23yuQ0QPG//6S1Qrp9NlODxfD8U6BvTg6eGqXu6hPFdDJhlcWYu17a4qgqOLK3pZixBmIoDzXgxmwkrj5RTzq7Mz1USKICLCmk8BuIcxdiaAe2BfXrrOGLvA+HelzWeU8eLiClodFqoVqqct1vXU0QC2Y7Ri80gK2WQcWqUe2MbwdpQKWRwWyNkPK2jPKRZyOLHcxMlGW/m1I0UQEWGNeVP6OwG8e4B96bHqngnPOgb0Qa8ccNVRM0TUSyHtDbghWt4dgZz9MGMmejs8bqI+YBwpgogIa7YxxmYBwPi51eZzGWMv4vuJyFZZqNqzOIyib2bMaYszIfrDedsz1Rq0ah0x0lcch9Uu4J6qGfaMwKr0hiqUbEwTEbFBOYuIfmXx9z+TuEaJMXaEiM4AcC8RPcoYe7b/Q4yxmwHcDAB79uzxvOfgTKUW6qDI0xYfPbyApUY7tEEP0AfY+56d08tajGcDLWvR3y7gnkIaVhovJ8i1BJEiiHgp8xRjbI/VASI6SkQ7GGOzxp7bx6w+xxg7Yvx8joh+AuDVANYpAlWUjUExGQ9nUORpi/c9MwdgdeVtGBTzOdSaHTyizYfmfgFWlZ+b5R1mGi8A5HNJbErFA5kRRK6hiAhrzJvSXwNgX/8HiChPRGnj980ALgLweJCdCjNdkVMq5PDciZP67wHX1OlvFwCeO3Ey1O+ciMewayKLskvmUJhpvACPm8iXyRYhUgQREdbcBOBSInoawKXG/0FEe4joFuMz5wI4SESPAPgxgJsYY4EqAq1aD9U6BtYGacMK2AJrfe9htqu3nXUccMNO4+UUC7lA6g1FrqGICAsYY3MALrH4+0EA1xm/3wfgFWH1qd7s4PhSOLV+zPABeXJTCpvS4Q0ZZoUX5kwE0GcjP3zsqO3xsNN4OaVCDj97+gQYY0rTeKMZQUTEBmGmGm6WCoe3NxVyu7lUAptHUnrbIVveU/kc5k7a5+yHncbLKeazqLc6OLHcVHrdSBFERITN8lFAO2B9TDsA7P+C5fH5p36OG+L7cE77iYA7uJZSIYcL6Sl8mH3bvt8B8bbRF3BDfB/OWHks1Hb5dz55z19YfueTz96HG+L7sLsRqCdwfb8m9X41f/KX1s9CO4Bdo7Rd9rokuhOP40WILgPw3wDEAdzCGLup73gawN8DeA2AOfz/7Z1vbJ1VHcc/397e1qgDxiZk0GKZAjolkdnAEunQaACHYZgUKQm6F9OF6YxGfUFCYhp8hSAmxjmdsjgWVJShFINxOFlYFrrRudExl7INqysbRQNuagLbbX++OKfLQ9d7e5/1uc+55Z5P8uSe5znn3u/v/LnnPM/598BtZjZc6Tc7OzttYGBgxrZFIuWQtLvcrKFa8tGLmm3HqrmsLvSyT1ecvn6lDbFurJdmSpRofov/lTbEj0q9FClRKLagFU9A+9W52HvixR0UH76FVpVoam6FFX35aB/ZxckNn6Fp/BSFYivKSxc4OLCVtid6KGq6vMjXrpHBbczbfGtZu9aN9XLt+tcYODqWqt9oxh1+kgrAWtyA2gjwnKS+SYNmK4HXzez9knqAe4HbZqodicxGhFGkRM97/s6CC5eevn7d6BaKr5QoMI4m+V83uoUW78fYKRjenlvlc85oP+Mq0cQ4jJ3MT3t4O0VKSDnrAgv/twf5OFfOi3ztuujfu6GCXcVXzm77iSxGfq4GDpnZSwCSfoVbnp9sCJYDvd79KPBDSbIsHkcikVmHKDS3csNN3dzQnhhrPtINGx+CsZMUCi1v9U/4UWiBjq78zO3ock8CeWt3dKFCS5A4FxYuhe33111eNF3aBT4vytllkLpenXHXkKRu4EYz+6I//zxwjZmtSYR5wYcZ8eeHfZh/lfvd2DUUqTWhuoY6P9BuA09tnvou8sgud4fZ0XWmfyW/WhNKu17jXMd2tX1oycsjJ8bb0vxkFk8EU/VFTW5dqgmDpFXAKn/6Zpnl/3kwHyjbSL0NdUNqh4zzFdMHyZ7dQyP/1SXXDIXQnoaQeVGJaFc6UpfrLBqCEaA9cd4GHC0TZkRSM3Au8NrkH0ruxyJpIMTdWkjtGOf8tUPoAkOh4lyJkHlRiWhXOs6mXGcxffQ54DJJl0pqAXpwy/OTJJfrdwN/juMDkUgkUh/M+InAzEqS1gB/xE0f3WBm+yXdAwyYWR/wILBJ0iHck0DPTHUjkUgkkg2ZrBc3syeBJydd+3bC/QZwa8qfXZ+BaWdLKO0Y58bQDhnnSkS70vG2sSuTBWWRSCQSmb3ELSYikUikwQneEEi6UdKQpEOSznhBuKRWSY94/52SOnLU/oakv0oalLRV0nvz0E2E65ZkkjKZmVCNrqTP+Tjvl/SLLHSr0ZZ0iaSnJe3x6b0sI90Nkl4tNxVZjh94uwYlLc5Ct4I9VeV93kgalrRP0t6As6mmzC9J50t6StJB/zm3TuzqlfSyT7O9WZXZlHa1+//NAf+f/Zq/ni7NzCzYgRtcPgwsBFqA54FFk8J8Gfixd/cAj+So/Qngnd69OgvtanR9uDnAM0A/0JlTfC8D9gBz/fkFOab1emC1dy8ChjPSXgosBl4o478M+ANurcsSYGfW5Txt3oc4gGFgfh3YcUZ+Ad8F7vLuu4B768SuXuBbgdNrAbDYu+cAL/r/T6o0C/1EcHp7CjM7CUxsT5FkObDRux8FPqlsNuKeVtvMnjazibdA9OPWSNRc1/MdXGa+kYFmtbpfAtaa2esAZjbl6xlrpG3AOd59LmeuRTkrzOwZplizkmA58JA5+oHz5F5NWQuqzfuGpUx+JeuAjcAtuRpFVeUoCGZ2zMz+4t3/AQ4AF5MyzUI3BBcDRxLnI/7alGHMrAQcB+blpJ1kJe7Osea6kq4C2s3s9xnoVa0LXI57ofsOSf1+V9m8tHuBOySN4GagfTUj7elIWw5mi1ZaDNgiabdf4V9PXGhmx8BVfMAFge1JssZ3KW4I0WWVxHebXwXsJGWahW4IMtueokbaLqB0B9AJ3FdrXUlNwPeBb2agVbWupxnXPfRx4HbgZ5LOy0n7duDnZtaG667Z5NOi1tSqfIXWSsvHzGwx8GngK5KWTveFCOuA9wEfAY4B3wtliKR3A5uBr5vZibTfD90QpNmegkrbU9RIG0mfAu4GbjazN3PQnQN8GNgmaRjXb92XwYBxtWn9uJmdMrO/AUO4hmGmVKO9Evg1gJk9C7wDt5dLramqHMxCrVSY2VH/+SrwW1w3Vr0wOtFd5z+z6rKcEWY2amZjZjYO/JRAaSapiGsEHjazx/zlVGkWuiEIuT3FtNq+i+YnuEYgq8JXUdfMjpvZfDPrMLMO3NjEzebelVszXc/vcAPkSJqP6yp6aYa61Wr/A/+OYEkfxDUE/8xAezr6gC/42UNLgOMTj9Q1oJp0yB1J75I0Z8INXA+E2vBxKpJ1wArg8YC2nGbSWNJnCZBmfrz0QeCAmT2Q8EqXZiFHvH19vgw30n0YuNtfuwdX+YGrEH4DHAJ2AQtz1P4TMArs9UdfHrqTwm4jg1lDVcZXwAO4d0nsA3pyTOtFwA7cTJq9wPUZ6f4S99h+CndHvhK4E7gzEee13q59WaV1mnQIfeBmMT3vj/0h7SqTX/OArcBB/3l+ndi1yZeZQVzFuyCAXdfiuhcHXYHmSgAAAFNJREFUE/XUsrRpFlcWRyKRSIMTumsoEolEIoGJDUEkEok0OLEhiEQikQYnNgSRSCTS4MSGIBKJRBqc2BBEIpFIgxMbgkgkEmlwYkMQiUQiDc7/AToRPnRg8uuxAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plotSymbols(outTxSymbols,outRxSymbols,np.real)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2, 5, 2, 1024)\n",
      "(2, 5, 2, 1024)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plotSymbols(outTxSymbols,outRxSymbols,np.imag)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
